package Mysql.v1;

import java.sql.*;

/**
 * JDBC可以完成CRUD操作【添加、修改、删除】
 * 使用JDBC规范 查询操作
 * 1.加载驱动，这侧Mysql驱动
 * 2.准备SQL，链接成功Mysql服务器
 * 3.发送SQL，执行查询操作
 * 4.查询结果集：ResultSet 接口
 * 5.处理结果集：显示查询数据
 * 6.关闭资源
 */
public class mysqlJDBCV1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
            //1.注册Mysql驱动---Java---Driver接口Class.forName("com.mysql.jdbc.Driver");
            //2.准备SQL，同时准备发送sql工具类--JAVA--DriverManager接口
            String username="root";
            String password="";
            String url="jdbc:mysql://localhost:3309/mi?characterEncoding=UTF-8";
            //链接成功Mysql sql工具类--Java--DriverManager接口
            //DriverManager接口-->getConnection方法：传入3参数
            // 顺利打印Connection对象：代表JDBC链接Mysql成功
            Connection con=
            DriverManager.getConnection(url,username,password);
            //打桩：测试是否链接成功 ---成功打印对象
        System.out.println("测试Java链接数据库对象："+con);

        //3.发送SQL：查询mi库-->book表数据
        String sql="select * from book";
        //通过链接成功Connection对象.createStatemnt()
        //createStatement()链接数据库，返回Statement对象
        //Statement对象--java---连接数据库并且返回Statement对象
        //Statement对象：执行静态sql--具备CRUD功能：查询改删
        Statement st=con.createStatement();
        //4.executeUpdate(sql) 增删改 操作 使用方法
        //
        //  executeQuery(sql)  查询   操作 使用方法
        //
        ResultSet rs=st.executeQuery(sql);
        //ResultSet对象--Java---查询到的数据保存对象
        //5.处理结果是：侠士book表所有记录数【数据】
        System.out.println("-------查询book表结果如下-----------");
        //显示数据--book表哪些字段，类型必须知道
        // 取【显示】7个字段，类型 mysql int [整型] varchar [字符串]
        // 取【显示】7个字段，类型 java   int [整型] String [字符串]
        //ResultSet对象提供方法 next() 依次取出每个字段记录【数据】
        //前提：不知道多少字段：一次数据-- while
        while(rs.next()){ //去除每个[7个]字段记录【数据】
            //get类型("字段名")
            int id=rs.getInt("id");
            //getString("字段名") 取字段名下类型
            String author=rs.getString("author");
            String name=rs.getString("name");
            int price=rs.getInt("price");
            String date=rs.getString("date");
            int number=rs.getInt("number");
            String discount=rs.getString("discount");
            //打桩：打印作者记录
            System.out.println("作者："+author+"打折情况"+discount);

        }


        }
    }

